#pragma once

#include "rtgmodes.h"

extern void sortdisplays();
extern void enumeratedisplays(/*int*/);

int WIN32GFX_IsPicassoScreen();
int WIN32GFX_GetWidth();
int WIN32GFX_GetHeight();
int WIN32GFX_GetDepth(int real);
void WIN32GFX_DisplayChangeRequested();
void WIN32GFX_DisablePicasso();
void WIN32GFX_EnablePicasso();
void WIN32GFX_WindowMove();
void WIN32GFX_WindowSize();
void DX_Invalidate(int x, int y, int width, int height);

RGBFTYPE WIN32GFX_FigurePixelFormats(RGBFTYPE colortype);
int WIN32GFX_AdjustScreenmode(struct MultiDisplay* md, int* pwidth, int* pheight, int* ppixbits);
extern HCURSOR normalcursor;

extern HWND hStatusWnd;
extern int default_freq;
extern int normal_display_change_starting;
extern int window_led_drives, window_led_drives_end, window_led_joy_start;
extern int window_led_hd, window_led_hd_end;
extern int window_led_joys, window_led_joys_end;

// extern HDC gethdc();
// extern void releasehdc(HDC hdc);
extern void close_windows();
extern void updatewinfsmode(CConfiguration* p);
// extern int is3dmode();

// void DX_Fill(int dstx, int dsty, int width, int height, uint color);
// void DX_Blit(int x, int y, int w, int h);
// void centerdstrect(RECT*);
struct MultiDisplay* getdisplay(CConfiguration* p);
double getcurrentvblankrate();